home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / glibc108.zip / glibc108 / mach / mach_error.c < prev    next >
C/C++ Source or Header  |  1992-10-06  |  2KB  |  83 lines

  1. /* 
  2.  * Mach Operating System
  3.  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
  4.  * All Rights Reserved.
  5.  * 
  6.  * Permission to use, copy, modify and distribute this software and its
  7.  * documentation is hereby granted, provided that both the copyright
  8.  * notice and this permission notice appear in all copies of the
  9.  * software, derivative works or modified versions, and any portions
  10.  * thereof, and that both notices appear in supporting documentation.
  11.  * 
  12.  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  13.  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  14.  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  15.  * 
  16.  * Carnegie Mellon requests users of this software to return to
  17.  * 
  18.  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
  19.  *  School of Computer Science
  20.  *  Carnegie Mellon University
  21.  *  Pittsburgh PA 15213-3890
  22.  * 
  23.  * any improvements or extensions that they make and grant Carnegie Mellon
  24.  * the rights to redistribute these changes.
  25.  */
  26. /*
  27.  * HISTORY
  28.  * $Log:    mach_error.c,v $
  29.  * Revision 2.4  92/02/19  15:10:52  elf
  30.  *     Moved mach_error_string and mach_error_type to mach_error_string.c.
  31.  *     [92/02/11            rpd]
  32.  * 
  33.  * Revision 2.3  92/01/23  15:22:06  rpd
  34.  *     Changed <servers/errorlib.h> to <errorlib.h>.
  35.  *     [92/01/16            rpd]
  36.  * 
  37.  * Revision 2.2  92/01/16  00:08:03  rpd
  38.  *     Moved from user collection to mk collection.
  39.  * 
  40.  * Revision 2.3  91/08/29  15:51:50  rpd
  41.  *     Changed IPC_MIG_MOD to MACH_IPC_MIG_MOD, to get the new error strings.
  42.  *     [91/08/22            rpd]
  43.  * 
  44.  * Revision 2.2  91/03/27  16:06:29  mrt
  45.  *     Changed include of "errorlib.h" to <servers/errorlib.h>
  46.  *     Added new copyright
  47.  *     [91/03/20            mrt]
  48.  * 
  49.  */
  50. /*
  51.  *     File:    mach_error.c
  52.  *    Author:    Douglas Orr, Carnegie Mellon University
  53.  *    Date:    Mar 1988
  54.  *
  55.  *      interprets structured mach error codes and prints
  56.  *      or returns a descriptive string.
  57.  */
  58.  
  59. #include <stdio.h>
  60. #include <mach_error.h>
  61. #include <mach/boolean.h>
  62.  
  63. extern char * mach_error_string_int();
  64.  
  65. void
  66. mach_error( str, err )    
  67.     char    *str;
  68.     mach_error_t        err;
  69. {
  70.     char * err_str;
  71.     char buf[1024];
  72.     boolean_t diag;
  73.  
  74.     err_str=mach_error_string_int(err, &diag);
  75.  
  76.     if ( diag ) {
  77.         sprintf( buf, "%s %s (%x)", mach_error_type(err), err_str, err );
  78.         err_str = buf;
  79.     }
  80.  
  81.     fprintf(stderr, "%s %s\n", str, err_str);
  82. }
  83.